<p>A <code>readObject</code> method is written when a <code>Serializable</code> object needs special handling to be rehydrated from file.
It should be the case that the object being created by <code>readObject</code> is only visible to the thread that invoked the method,
and the <code>synchronized</code> keyword is not needed, and using <code>synchronized</code> anyway is just confusing.
If this is not the case, the method should be refactored to make it the case.</p>

<h2>Noncompliant Code Example</h2>

<pre>
private synchronized void readObject(java.io.ObjectInputStream in)
     throws IOException, ClassNotFoundException { // Noncompliant
  //...
}
</pre>

<h2>Compliant Solution</h2>

<pre>
private void readObject(java.io.ObjectInputStream in)
     throws IOException, ClassNotFoundException { // Compliant
  //...
}
</pre>
